/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package main.CandidateAnalysis;

import java.io.Serializable;

/**
 *
 * @author Isaac Osesina
 */
public class UTEES_CandidateListStats implements Serializable, Cloneable {


    private int candidateListSize;
    private int TP=0, TN=0, FP=0;
    private double precision=0.0;
    private double recall=0.0;
    private double specificity = 0.0;
    private double FMeasure = 0.0;
    private double upperBreakPoint=0.0;
    private double lowerBreakPoint=0.0;

    public UTEES_CandidateListStats() {
    }

    public int getCandidateListSize() {return candidateListSize;}
    public void setCandidateListSize(int SurvivorsCnt) {this.candidateListSize = SurvivorsCnt;}

    public int getTP() {return TP;}
    public void setTP(int TP) {this.TP = TP;}

    public double getLowerBreakPoint() {return lowerBreakPoint;}
    public void setLowerBreakPoint(double lowerBreakPoint) {this.lowerBreakPoint = lowerBreakPoint;}

    public double getPrecision() {return precision;}
    public void setPrecision(double precision) {this.precision = precision;}

    public double getRecall() {return recall;}
    public void setRecall(double recall) {this.recall = recall;}
    
    public double getUpperBreakPoint() {return upperBreakPoint;}
    public void setUpperBreakPoint(double upperBreakPoint) {this.upperBreakPoint = upperBreakPoint;}

    public int getFP() {
        return FP;
    }

    public void setFP(int FP) {
        this.FP = FP;
    }

    public int getTN() {
        return TN;
    }

    public void setTN(int TN) {
        this.TN = TN;
    }

    public double getSpecificity() {
        return specificity;
    }

    public void setSpecificity(double specificity) {
        this.specificity = specificity;
    }

    public double getFMeasure() {
        return FMeasure;
    }

    public void setFMeasure(double FMeasure) {
        this.FMeasure = FMeasure;
    }

    public String toStringSingleRow()
    {
        String output = String.format("%d|%d|%d|%d|%.5f|%.5f|%.5f|%.5f|%.5f|%.5f", TP, TN, FP, candidateListSize, precision, recall, specificity, FMeasure, lowerBreakPoint, upperBreakPoint);
        return output;
    }
}
